package com.example.micro_property_springboot.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.micro_property_springboot.pojo.AssetCheckDiff;
import com.example.micro_property_springboot.pojo.DTO.request.AssetCheckDiffHandleRequest;

import java.util.List;

public interface AssetCheckDiffService extends IService<AssetCheckDiff> {

    /**
     * 生成盘点差异
     * @param planId 盘点计划ID
     */
    void generateCheckDiffs(Long planId);

    /**
     * 获取盘点差异列表
     * @param planId 盘点计划ID
     * @param diffType 差异类型
     * @return 盘点差异列表
     */
    List<AssetCheckDiff> getAssetCheckDiffs(Long planId, String diffType);

    /**
     * 处理盘点差异
     * @param diffId 差异ID
     * @param request 差异处理请求
     * @param userId 当前用户ID
     * @return 处理后的差异
     */
    AssetCheckDiff handleAssetCheckDiff(Long diffId, AssetCheckDiffHandleRequest request, Long userId);

    /**
     * 确认盘点差异
     * @param planId 盘点计划ID
     * @param userId 当前用户ID
     */
    void confirmAssetCheckDiffs(Long planId, Long userId);

}

